系统调优的建议 |
您所在的位置:网站首页 › sql server性能调优 › 系统调优的建议 |
1 .性能瓶颈定位
3 1.1 定位执行时间较长的 SQL 语句
3 1.2 定位执行次数较多的 SQL 语句
4 1.3 不恰当的数据库锁定机制与同步机制
4 2 .优化实做注意事项
5 2.1 结合系统性能要求对系统可能的瓶颈点进行甄别和评估
5 2.2 建立测试基线,优化和测试相结合
5 2.3 优化的时间分配
5 2.4 改良与革命
6 3 .总结
6
**** 系统上周进行系统性能测试。测试的第二天下午,我在现场,目睹了系统测试中发现的一些性能问题, 当时也给参与测试的开发人员提出了一些建议。经过几天对优化问题的思考和整理,并结合自己以往的系 统开发、调优经验,提出个人的一些意见和建议,仅供参考。
1 .性能瓶颈定位
对系统瓶颈的准确定位是调优的第一步,也是最为关键的一步。系统响应时间较长和数据库负载重有相当 的关系。 应用系统同数据库系统的交互主要通过 SQL 语句完成, 数据库的负载过重主要由以下几个方面原 因造成:执行时间较长的 SQL 语句,执行太过频繁的 SQL 语句,不恰当的数据库锁定机制。
1.1 定位执行时间较长的 SQL 语句
执行时间较长的 SQL 语句是系统响应时间和性能的主要杀手。找到并且优化这些极为耗时的 SQL 语句是 系统调优极为关键的一部。
在一个事务中如果包含一个执行时间很长的 SQL ,并发不用上到很大,就会有大量的前台请求会因为 TimeOut 而 rollback 。
如何定位这些堪称性能杀手 SQL ,大致说来有三种途径。
一是开发人员自己根据经验分析源码,进行判断和挑选;
二是在性能测试时,观测 web server 中所有 Servlet 的响应时间,找出那些平均执行时间最长的那些 Servlet 。开发人员根据这些 Servlet 进行分析,找出在这些 Servlet 在执行阶段最为耗时的 SQL ;
三是在进行性能测试时,在 Oracle 数据库一端由 DBA 统计出占用时间最长的 N 条语句。 N 的具体取值可 以根据实际情况来定。一般一次获取前 25 条最占用时间的 SQL 语句就可以。
通过上述 3 种途径,应该可以定位出耗费系统资源最多的那些 SQL 语句。然后对这些 SQL 进行优化,改 进系统效率。
在优化 SQL 的同时, 检查数据库索引的建立情况, 尽量避免在查询中对数据库表作全表扫描操作。 Oracle9i 在分析 SQL 语句建立执行计划时缺省使用的是基于执行成本的 CBO 方式。及时的对数据表及索引进行 analyze ,以更新建立查询执行计划所需的信息也很必要。
1.2 定位执行次数较多的 SQL 语句
执行次数较多的这些 SQL , 不像那些执行时间较长的 SQL 那样对系统的性能影响的那样直接, 但是一样 “ 危 害 ” 较大。这些 SQL 使得数据库始终陷入繁忙状态,致使其性能下降,效率降低。
对执行次数较多的这些 SQL 的侦测同定位执行时间较长的 SQL 语句类似也是可以从系统源码分析, WebLogic 运行监控,数据库监控这几方面进行。通过上述操作,找出那些虽然执行时间可能不长,但是 |
今日新闻 |
推荐新闻 |
CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3 |